<?php
require(CP_PATH . 'lib/common.function.php');
require(CP_PATH . 'ext/template_ext.php');

//调试运行时间和占用内存
function debug($flag='system', $end = false){
    static $arr =array();
    if( !$end ){
        $arr[$flag] = microtime(true);
    } else if( $end && isset($arr[$flag]) ) {
        echo  '<p>' . $flag . ': runtime:' . round( (microtime(true) - $arr[$flag]), 6)
            . '  memory_usage:' . memory_get_usage()/1000 . 'KB</p>';
    }
}
/**
 * 人民币小写转大写
 *
 * @param string $number 数值
 * @param string $int_unit 币种单位，默认"元"，有的需求可能为"圆"
 * @param bool $is_round 是否对小数进行四舍五入
 * @param bool $is_extra_zero 是否对整数部分以0结尾，小数存在的数字附加0,比如1960.30
 * @return string
 */
function rmb_format($num) {
    $c1 = "零壹贰叁肆伍陆柒捌玖";
    $c2 = "分角元拾佰仟万拾佰仟亿";
    //精确到分后面就不要了，所以只留两个小数位
    $num = round($num, 2);
    //将数字转化为整数
    $num = $num * 100;
    if (strlen($num) > 10) {
        return "金额太大，请检查";
    }
    $i = 0;
    $c = "";
    while (1) {
        if ($i == 0) {
            //获取最后一位数字
            $n = substr($num, strlen($num)-1, 1);
        } else {
            $n = $num % 10;
        }
        //每次将最后一位数字转化为中文
        $p1 = substr($c1, 3 * $n, 3);
        $p2 = substr($c2, 3 * $i, 3);
        if ($n != '0' || ($n == '0' && ($p2 == '亿' || $p2 == '万' || $p2 == '元'))) {
            $c = $p1 . $p2 . $c;
        } else {
            $c = $p1 . $c;
        }
        $i = $i + 1;
        //去掉数字最后一位了
        $num = $num / 10;
        $num = (int)$num;
        //结束循环
        if ($num == 0) {
            break;
        }
    }
    $j = 0;
    $slen = strlen($c);
    while ($j < $slen) {
        //utf8一个汉字相当3个字符
        $m = substr($c, $j, 6);
        //处理数字中很多0的情况,每次循环去掉一个汉字“零”
        if ($m == '零元' || $m == '零万' || $m == '零亿' || $m == '零零') {
            $left = substr($c, 0, $j);
            $right = substr($c, $j + 3);
            $c = $left . $right;
            $j = $j-3;
            $slen = $slen-3;
        }
        $j = $j + 3;
    }
    //这个是为了去掉类似23.0中最后一个“零”字
    if (substr($c, strlen($c)-3, 3) == '零') {
        $c = substr($c, 0, strlen($c)-3);
    }
    //将处理的汉字加上“整”
    if (empty($c)) {
        return "零元整";
    }else{
        return $c . "整";
    }
}

/**
 * 抓取网页源码
 *
 * @param string $url 要抓取的网页url
 * @return string 抓取到的内容用字符串的格式返回
 *
 *
 */

function url_crawler($url){
    //echo '<br />',$url,'<br />';
    $header = get_headers($url);
    $status_header = explode(' ',$header[0])[1];
    $charset = '';
    for($i = 0;isset($header[$i]);$i++){
        $check_header = preg_replace('/\s+/','', $header[$i]);
        $pos = mb_strpos($check_header,'charset');
        if($pos !== FALSE){
            $charset = mb_substr($check_header,$pos+mb_strlen('charset='));
            $pos = mb_strpos($charset,';');
            if($pos !== FALSE){
                $charset = mb_substr($charset,0,$pos);
            }
        }
    }

    //300当前url要重定向 400客户端错误可调 500服务器错误完犊子
    if($status_header>=400 && $status_header<= 599){
        cpError::write('URL:'.$url.'状态码'.$status_header,'网页打开错误');
        return false;
    }

    /*echo $header[0];
    print_r($header);die;*/

    $header = FormatHeader($url);

    //print_r($header);die;

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    //是否要头信息
    curl_setopt($ch,CURLOPT_HEADER,1);

    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  //设置头信息的地方
    //是否要正文
    //curl_setopt($ch, CURLOPT_NOBODY, 0);

    //自动根据返回的location进行重定向，解决3XX问题
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    //得到的数据不直接打印到屏幕上
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $contents = curl_exec($ch);
    //获取头文件大小并且截取那么大的数据，得到头信息，其实可以直接get_headers()，不同之处在于后者得请求两次同一个url
    //$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    //$header = mb_substr($contents,0,$header_size);
    //获取头文件的 content_type
    //$content_type = curl_getinfo($ch,CURLINFO_CONTENT_TYPE);
    curl_close($ch);
    //echo $contents;die;
    $contents = iconv($charset,'UTF-8//IGNORE',$contents);

    //echo $contents;die;
    /*$rand = rand(0,30);
    //echo $rand;die;
    sleep($rand);*/

    return $contents;
}


//伪装头信息
function FormatHeader($url, $myIp = null,$xml = null)
{
    // 解悉url
    $temp = parse_url($url);
    $query = isset($temp['query']) ? $temp['query'] : '';
    $path = isset($temp['path']) ? $temp['path'] : '/';

    $header = array (
        //"POST {$path}?{$query} HTTP/1.1",
        //"Host: {$temp['host']}",
        "Content-Type: text/xml; charset=utf-8",
        'Accept: */*',
        "Referer: http://{$temp['host']}/",
        'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)',
        "X-Forwarded-For: {$myIp}",
        //"Content-length: 380",
        //"Connection: Close"
    );

    return $header;
}


/*
 * 给一段字符串，返回其中包含的长度单位
 * 千米(km)、分米(dm)、厘米(cm)、毫米(mm)、微米(μm)、纳米(nm)
 * 1米=3(尺)=30(寸)=0.3(丈)
 */
 function getlongunit($str)
 {
     $long = array(
         'nm',
         'um',
         'mm',
         'cm',
         'dm',
         'km',
         'm',
         '纳米',
         '微米',
         '毫米',
         '厘米',
         '分米',
         '千米',
         '米',
         '尺',
         '寸',
         '丈',
     );
     for($i = 0;isset($long[$i]);$i++){
         $pos = mb_strpos($str,$long[$i]);
         if($pos !== false){
            return $long[$i];
         }
     }
     return false;
 }


/*
 * 判断省市函数
 *
 *@param $str 城市与省份还有不知道什么连接符混合的字符串
 * $param $url 可以省略，写上好定位错误的网页
 *@return $ret = array('city'=>'','province'=>'')
 *
 */

    function judgeCityAndProvince($str,$url=null){
        $city_arr = array(
        '安徽'
        => Array(
                '合肥', '合肥',
                '安庆', '安庆',
                '蚌埠', '蚌埠',
                '亳州', '亳州',
                '巢湖', '巢湖',
                '滁州', '滁州',
                '阜阳', '阜阳',
                '贵池', '贵池',
                '淮北', '淮北',
                '淮化', '淮化',
                '淮南', '淮南',
                '黄山', '黄山',
                '九华山', '九华山',
                '六安', '六安',
                '马鞍山', '马鞍山',
                '宿州', '宿州',
                '铜陵', '铜陵',
                '屯溪', '屯溪',
                '芜湖', '芜湖',
                '宣城', '宣城'),

            '北京'
            => Array(
                '东城', '东城',
                '西城', '西城',
                '崇文', '崇文',
                '宣武', '宣武',
                '朝阳', '朝阳',
                '丰台', '丰台',
                '石景山', '石景山',
                '海淀', '海淀',
                '门头沟', '门头沟',
                '房山', '房山',
                '通州', '通州',
                '顺义', '顺义',
                '昌平', '昌平',
                '大兴', '大兴',
                '平谷', '平谷',
                '怀柔', '怀柔',
                '密云', '密云',
                '延庆', '延庆'),

            '重庆'
            => Array(
                '万州', '万州',
                '涪陵', '涪陵',
                '渝中', '渝中',
                '大渡口', '大渡口',
                '江北', '江北',
                '沙坪坝', '沙坪坝',
                '九龙坡','九龙坡',
                '南岸', '南岸',
                '北碚', '北碚',
                '万盛', '万盛',
                '双挢', '双挢',
                '渝北', '渝北',
                '巴南', '巴南',
                '黔江', '黔江',
                '长寿', '长寿',
                '綦江', '綦江',
                '潼南', '潼南',
                '铜梁', '铜梁',
                '大足', '大足',
                '荣昌', '荣昌',
                '壁山', '壁山',
                '梁平', '梁平',
                '城口', '城口',
                '丰都', '丰都',
                '垫江', '垫江',
                '武隆', '武隆',
                '忠县', '忠县',
                '开县', '开县',
                '云阳', '云阳',
                '奉节', '奉节',
                '巫山', '巫山',
                '巫溪', '巫溪',
                '石柱', '石柱',
                '秀山', '秀山',
                '酉阳', '酉阳',
                '彭水', '彭水',
                '江津', '江津',
                '合川', '合川',
                '永川', '永川',
                '南川', '南川'),

            '福建'
            => Array(
                '福州(*)', '福州',
                '福安', '福安',
                '龙岩', '龙岩',
                '南平', '南平',
                '宁德', '宁德',
                '莆田', '莆田',
                '泉州', '泉州',
                '三明', '三明',
                '邵武', '邵武',
                '石狮', '石狮',
                '晋江', '晋江',
                '永安', '永安',
                '武夷山', '武夷山',
                '厦门', '厦门',
                '漳州', '漳州'),

            '甘肃'
            => Array(
                '兰州(*)', '兰州',
                '白银', '白银',
                '定西', '定西',
                '敦煌', '敦煌',
                '甘南', '甘南',
                '金昌', '金昌',
                '酒泉', '酒泉',
                '临夏', '临夏',
                '平凉', '平凉',
                '天水', '天水',
                '武都', '武都',
                '武威', '武威',
                '西峰', '西峰',
                '嘉峪关','嘉峪关',
                '张掖', '张掖'),

            '广东'
            => Array(
                '广州(*)', '广州',
                '潮阳', '潮阳',
                '潮州', '潮州',
                '澄海', '澄海',
                '东莞', '东莞',
                '佛山', '佛山',
                '河源', '河源',
                '惠州', '惠州',
                '江门', '江门',
                '揭阳', '揭阳',
                '开平', '开平',
                '茂名', '茂名',
                '梅州', '梅州',
                '清远', '清远',
                '汕头', '汕头',
                '汕尾', '汕尾',
                '韶关', '韶关',
                '深圳', '深圳',
                '顺德', '顺德',
                '阳江', '阳江',
                '英德', '英德',
                '云浮', '云浮',
                '增城', '增城',
                '湛江', '湛江',
                '肇庆', '肇庆',
                '中山', '中山',
                '珠海', '珠海'),

            '广西'
            => Array(
                '南宁(*)', '南宁',
                '百色', '百色',
                '北海', '北海',
                '桂林', '桂林',
                '防城港', '防城港',
                '河池', '河池',
                '贺州', '贺州',
                '柳州', '柳州',
                '来宾', '来宾',
                '钦州', '钦州',
                '梧州', '梧州',
                '贵港', '贵港',
                '玉林', '玉林'),

            '贵州'
            => Array(
                '贵阳(*)', '贵阳',
                '安顺', '安顺',
                '毕节', '毕节',
                '都匀', '都匀',
                '凯里', '凯里',
                '六盘水', '六盘水',
                '铜仁', '铜仁',
                '兴义', '兴义',
                '玉屏', '玉屏',
                '遵义', '遵义'),

            '海南'
            => Array(
                '海口(*)', '海口',
                '三亚', '三亚',
                '五指山', '五指山',
                '琼海', '琼海',
                '儋州', '儋州',
                '文昌', '文昌',
                '万宁', '万宁',
                '东方', '东方',
                '定安', '定安',
                '屯昌', '屯昌',
                '澄迈', '澄迈',
                '临高', '临高',
                '万宁', '万宁',
                '白沙黎族', '白沙黎族',
                '昌江黎族', '昌江黎族',
                '乐东黎族', '乐东黎族',
                '陵水黎族', '陵水黎族',
                '保亭黎族', '保亭黎族',
                '琼中黎族', '琼中黎族',
                '西沙群岛', '西沙群岛',
                '南沙群岛', '南沙群岛',
                '中沙群岛', '中沙群岛'
            ),

            '河北'
            => Array(
                '石家庄(*)', '石家庄',
                '保定', '保定',
                '北戴河', '北戴河',
                '沧州', '沧州',
                '承德', '承德',
                '丰润', '丰润',
                '邯郸', '邯郸',
                '衡水', '衡水',
                '廊坊', '廊坊',
                '南戴河', '南戴河',
                '秦皇岛', '秦皇岛',
                '唐山', '唐山',
                '新城', '新城',
                '邢台', '邢台',
                '张家口', '张家口'),

            '黑龙江'
            => Array(
                '哈尔滨(*)', '哈尔滨',
                '北安', '北安',
                '大庆', '大庆',
                '大兴安岭', '大兴安岭',
                '鹤岗', '鹤岗',
                '黑河', '黑河',
                '佳木斯', '佳木斯',
                '鸡西', '鸡西',
                '牡丹江', '牡丹江',
                '齐齐哈尔', '齐齐哈尔',
                '七台河', '七台河',
                '双鸭山', '双鸭山',
                '绥化', '绥化',
                '伊春', '伊春'),

            '河南'
            => Array(
                '郑州(*)', '郑州',
                '安阳', '安阳',
                '鹤壁', '鹤壁',
                '潢川', '潢川',
                '焦作', '焦作',
                '济源', '济源',
                '开封', '开封',
                '漯河', '漯河',
                '洛阳', '洛阳',
                '南阳', '南阳',
                '平顶山', '平顶山',
                '濮阳', '濮阳',
                '三门峡', '三门峡',
                '商丘', '商丘',
                '新乡', '新乡',
                '信阳', '信阳',
                '许昌', '许昌',
                '周口', '周口',
                '驻马店', '驻马店'),

            '香港'
            => Array(
                '香港', '香港',
                '九龙', '九龙',
                '新界', '新界'),

            '湖北'
            => Array(
                '武汉(*)', '武汉',
                '恩施', '恩施',
                '鄂州', '鄂州',
                '黄冈', '黄冈',
                '黄石', '黄石',
                '荆门', '荆门',
                '荆州', '荆州',
                '潜江', '潜江',
                '十堰', '十堰',
                '随州', '随州',
                '武穴', '武穴',
                '仙桃', '仙桃',
                '咸宁', '咸宁',
                '襄阳', '襄阳',
                '襄樊', '襄樊',
                '孝感', '孝感',
                '宜昌', '宜昌'),

            '湖南'
            => Array(
                '长沙(*)', '长沙',
                '常德', '常德',
                '郴州', '郴州',
                '衡阳', '衡阳',
                '怀化', '怀化',
                '吉首', '吉首',
                '娄底', '娄底',
                '邵阳', '邵阳',
                '湘潭', '湘潭',
                '益阳', '益阳',
                '岳阳', '岳阳',
                '永州', '永州',
                '张家界', '张家界',
                '株洲', '株洲'),

            '江苏'
            => Array(
                '南京(*)', '南京',
                '常熟', '常熟',
                '常州', '常州',
                '海门', '海门',
                '淮安', '淮安',
                '江都', '江都',
                '江阴', '江阴',
                '昆山', '昆山',
                '连云港', '连云港',
                '南通', '南通',
                '启东', '启东',
                '沭阳', '沭阳',
                '宿迁', '宿迁',
                '苏州', '苏州',
                '太仓', '太仓',
                '泰州', '泰州',
                '同里', '同里',
                '无锡', '无锡',
                '徐州', '徐州',
                '盐城', '盐城',
                '扬州', '扬州',
                '宜兴', '宜兴',
                '仪征', '仪征',
                '张家港', '张家港',
                '镇江', '镇江',
                '周庄', '周庄'),

            '江西'
            => Array(
                '南昌(*)', '南昌',
                '抚州', '抚州',
                '赣州', '赣州',
                '吉安', '吉安',
                '景德镇', '景德镇',
                '井冈山', '井冈山',
                '九江', '九江',
                '庐山', '庐山',
                '萍乡', '萍乡',
                '上饶', '上饶',
                '新余', '新余',
                '宜春', '宜春',
                '鹰潭', '鹰潭'),

            '吉林'
            => Array(
                '长春(*)', '长春',
                '白城', '白城',
                '白山', '白山',
                '珲春', '珲春',
                '辽源', '辽源',
                '梅河', '梅河',
                '吉林', '吉林',
                '四平', '四平',
                '松原', '松原',
                '通化', '通化',
                '延吉', '延吉'),
            '辽宁'
            => Array(
                '沈阳(*)', '沈阳',
                '鞍山', '鞍山',
                '本溪', '本溪',
                '朝阳', '朝阳',
                '大连', '大连',
                '丹东', '丹东',
                '抚顺', '抚顺',
                '阜新', '阜新',
                '葫芦岛', '葫芦岛',
                '锦州', '锦州',
                '辽阳', '辽阳',
                '盘锦', '盘锦',
                '铁岭', '铁岭',
                '营口', '营口'),

            '澳门'
            => Array(
                '澳门', '澳门'),

            '内蒙古'
            => Array(
                '呼和浩特(*)', '呼和浩特',
                '阿拉善盟', '阿拉善盟',
                '包头', '包头',
                '赤峰', '赤峰',
                '东胜', '东胜',
                '海拉尔', '海拉尔',
                '集宁', '集宁',
                '临河', '临河',
                '通辽', '通辽',
                '乌海', '乌海',
                '乌兰浩特', '乌兰浩特',
                '锡林浩特', '锡林浩特'),

            '宁夏'
            => Array(
                '银川(*)', '银川',
                '固原', '固原',
                '中卫', '中卫',
                '石嘴山', '石嘴山',
                '吴忠', '吴忠'),

            '青海'
            => Array(
                '西宁(*)', '西宁',
                '德令哈', '德令哈',
                '格尔木', '格尔木',
                '共和', '共和',
                '海东', '海东',
                '海晏', '海晏',
                '玛沁', '玛沁',
                '同仁', '同仁',
                '玉树', '玉树'),

            '山东'
            => Array(
                '济南(*)', '济南',
                '滨州', '滨州',
                '兖州', '兖州',
                '德州', '德州',
                '东营', '东营',
                '菏泽', '菏泽',
                '济宁', '济宁',
                '莱芜', '莱芜',
                '聊城', '聊城',
                '临沂', '临沂',
                '蓬莱', '蓬莱',
                '青岛', '青岛',
                '曲阜', '曲阜',
                '日照', '日照',
                '泰安', '泰安',
                '潍坊', '潍坊',
                '威海', '威海',
                '烟台', '烟台',
                '枣庄', '枣庄',
                '淄博', '淄博'),

            '上海'
            => Array(
                '崇明', '崇明',
                '黄浦', '黄浦',
                '卢湾', '卢湾',
                '徐汇', '徐汇',
                '长宁', '长宁',
                '静安', '静安',
                '普陀', '普陀',
                '闸北', '闸北',
                '虹口', '虹口',
                '杨浦', '杨浦',
                '闵行', '闵行',
                '宝山', '宝山',
                '嘉定', '嘉定',
                '浦东', '浦东',
                '金山', '金山',
                '松江', '松江',
                '青浦', '青浦',
                '南汇', '南汇',
                '奉贤', '奉贤',
                '朱家角', '朱家角'),

            '山西'
            => Array(
                '太原(*)', '太原',
                '长治', '长治',
                '大同', '大同',
                '候马', '候马',
                '晋城', '晋城',
                '离石', '离石',
                '临汾', '临汾',
                '宁武', '宁武',
                '朔州', '朔州',
                '忻州', '忻州',
                '阳泉', '阳泉',
                '榆次', '榆次',
                '运城', '运城'),

            '陕西'
            => Array(
                '西安(*)', '西安',
                '安康', '安康',
                '宝鸡', '宝鸡',
                '汉中', '汉中',
                '渭南', '渭南',
                '商州', '商州',
                '绥德', '绥德',
                '铜川', '铜川',
                '咸阳', '咸阳',
                '延安', '延安',
                '榆林', '榆林'),

            '四川'
            => Array(
                '成都(*)', '成都',
                '巴中', '巴中',
                '达州', '达州',
                '德阳', '德阳',
                '都江堰', '都江堰',
                '峨眉山', '峨眉山',
                '涪陵', '涪陵',
                '广安', '广安',
                '广元', '广元',
                '九寨沟', '九寨沟',
                '康定', '康定',
                '乐山', '乐山',
                '泸州', '泸州',
                '马尔康', '马尔康',
                '绵阳', '绵阳',
                '眉山', '眉山',
                '南充', '南充',
                '内江', '内江',
                '攀枝花', '攀枝花',
                '遂宁', '遂宁',
                '汶川', '汶川',
                '西昌', '西昌',
                '雅安', '雅安',
                '宜宾', '宜宾',
                '自贡', '自贡',
                '资阳', '资阳'),

            '台湾'
            => Array(
                '台北(*)', '台北',
                '基隆', '基隆',
                '台南', '台南',
                '台中', '台中',
                '高雄', '高雄',
                '屏东', '屏东',
                '南投', '南投',
                '云林', '云林',
                '新竹', '新竹',
                '彰化', '彰化',
                '苗栗', '苗栗',
                '嘉义', '嘉义',
                '花莲', '花莲',
                '桃园', '桃园',
                '宜兰', '宜兰',
                '台东', '台东',
                '金门', '金门',
                '马祖', '马祖',
                '澎湖', '澎湖',
                '其它', '其它'),

            '天津'
            => Array(
                '天津', '天津',
                '和平', '和平',
                '东丽', '东丽',
                '河东', '河东',
                '西青', '西青',
                '河西', '河西',
                '津南', '津南',
                '南开', '南开',
                '北辰', '北辰',
                '河北', '河北',
                '武清', '武清',
                '红挢', '红挢',
                '塘沽', '塘沽',
                '汉沽', '汉沽',
                '大港', '大港',
                '宁河', '宁河',
                '静海', '静海',
                '宝坻', '宝坻',
                '蓟县', '蓟县' ),

            '新疆'
            => Array(
                '乌鲁木齐(*)', '乌鲁木齐',
                '阿克苏', '阿克苏',
                '阿勒泰', '阿勒泰',
                '阿图什', '阿图什',
                '博乐', '博乐',
                '昌吉', '昌吉',
                '东山', '东山',
                '哈密', '哈密',
                '和田', '和田',
                '喀什', '喀什',
                '克拉玛依', '克拉玛依',
                '库车', '库车',
                '库尔勒', '库尔勒',
                '奎屯', '奎屯',
                '石河子', '石河子',
                '塔城', '塔城',
                '吐鲁番', '吐鲁番',
                '伊宁', '伊宁'),

            '西藏'
            => Array(
                '拉萨(*)', '拉萨',
                '阿里', '阿里',
                '昌都', '昌都',
                '林芝', '林芝',
                '那曲', '那曲',
                '日喀则', '日喀则',
                '山南', '山南'),

            '云南'
            => Array(
                '昆明(*)', '昆明',
                '大理', '大理',
                '保山', '保山',
                '楚雄', '楚雄',
                '大理', '大理',
                '东川', '东川',
                '个旧', '个旧',
                '景洪', '景洪',
                '开远', '开远',
                '临沧', '临沧',
                '丽江', '丽江',
                '六库', '六库',
                '潞西', '潞西',
                '曲靖', '曲靖',
                '思茅', '思茅',
                '文山', '文山',
                '西双版纳', '西双版纳',
                '玉溪', '玉溪',
                '中甸', '中甸',
                '昭通', '昭通'),

            '浙江'
            => Array(
                '杭州(*)', '杭州',
                '安吉', '安吉',
                '慈溪', '慈溪',
                '定海', '定海',
                '奉化', '奉化',
                '海盐', '海盐',
                '黄岩', '黄岩',
                '湖州', '湖州',
                '嘉兴', '嘉兴',
                '金华', '金华',
                '临安', '临安',
                '临海', '临海',
                '丽水', '丽水',
                '宁波', '宁波',
                '瓯海', '瓯海',
                '平湖', '平湖',
                '千岛湖', '千岛湖',
                '衢州', '衢州',
                '江山', '江山',
                '瑞安', '瑞安',
                '绍兴', '绍兴',
                '嵊州', '嵊州',
                '台州', '台州',
                '温岭', '温岭',
                '温州', '温州',
                '余姚', '余姚',
                '舟山', '舟山'),

            '海外'
            => Array(
                '美国(*)', '美国',
                '英国', '英国',
                '法国', '法国',
                '瑞士', '瑞士',
                '澳洲', '澳洲',
                '新西兰', '新西兰',
                '加拿大', '加拿大',
                '奥地利', '奥地利',
                '韩国', '韩国',
                '日本', '日本',
                '德国', '德国',
                '意大利', '意大利',
                '西班牙', '西班牙',
                '俄罗斯', '俄罗斯',
                '泰国', '泰国',
                '印度', '印度',
                '荷兰', '荷兰',
                '新加坡', '新加坡',
                '欧洲', '欧洲',
                '北美', '北美',
                '南美', '南美',
                '亚洲', '亚洲',
                '非洲', '非洲',
                '大洋洲', '大洋洲'));

        $province_arr = array('安徽','北京','重庆','福建','甘肃','广东','广西','贵州','海南','河北','黑龙江','河南','香港','湖北','湖南','江苏','江西','吉林','辽宁','澳门','内蒙古','宁夏','青海','山东','上海','山西','陕西','四川','台湾','天津','新疆','西藏','云南','浙江','海外');
        $ret = array();

        //$str 乱七八糟的字符串 $arr 抛出其他字符串以后的剩下的中文数组，理论上应该是两段字符，其实无所谓几段字符，都可以解析出来
        $arr = array();
        preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$str,$arr);
        $arr_int = 0;
        $city_str = '';
        $province = '';
        $city = '';
        while (isset($arr[0][$arr_int])){
            $city_str = $city_str.$arr[0][$arr_int];

            ++$arr_int;
        }
        for($i = 0;isset($province_arr[$i]);$i++){
            $pos = mb_strpos($city_str,$province_arr[$i]);
            if($pos !== false){
                $province = $province_arr[$i];
                break;
            }
        }
        if($province == ''){
            cpError::write('url:'.$url.'展览省份未能正确得到，请查证修改','详情页错误');
            return false;
        }

        for($i =0 ;isset($city_arr[$province][$i]);$i++){
            $pos = mb_strpos($city_str,$city_arr[$province][$i]);
            if($pos !== false){
                $city = $city_arr[$province][$i];
            }
        }

        if($city == ''){
            cpError::write('url:'.$url.'展览城市未能正确得到，请查证修改','详情页错误');
        }

        $ret['province'] = $province;
        $ret['city'] = $city;

        return $ret;
    }


